package com.example.usercenter.common;

/**
 * @projectName: user-center
 * @package: com.example.usercenter.common
 * @className: ResultUtils
 * @author: Dengke。Zhao
 * @description: TODO
 * @date: 2024/6/23 18:50
 * @version: 1.0
 */
public class ResultUtils {


    /**
     * 成功
     *
     * @param data
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>(200, data, "ok", "");

    }

    /**
     * 失败
     *
     * @param errorCode
     * @param <T>
     * @return
     */
    public static <T> BaseResponse<T> error(ErrorCode errorCode) {
        return new BaseResponse<>(errorCode);

    }

    public static BaseResponse error(int code, String message, String description) {
        return new BaseResponse(code, null, message, description);

    }


    public static BaseResponse error(ErrorCode errorCode, String message, String description) {
        return new BaseResponse(errorCode.getCode(), null, message, description);

    }

    public static BaseResponse error(ErrorCode errorCode, String description) {
        return new BaseResponse(errorCode.getCode(), null, errorCode.getMessage(), description);

    }
}
